package efr.dao.impl;

import java.util.List;

import org.hibernate.Session;

import efr.dao.PaginaDao;
import efr.entity.Pagina;
import efr.util.HibernateUtil;

public class PaginaDaoImpl implements PaginaDao{

	@Override
	public List<Pagina> getAllPagini() {
		List<Pagina> listPagini = null;
		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		session.beginTransaction();
		listPagini = session.createQuery("from Pagina").list();
		session.getTransaction().commit();
		return listPagini;
	}

	@Override
	public Pagina getPagina(int id) {
		Pagina pagina = null;
		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		session.beginTransaction();
		pagina = (Pagina)session.get(Pagina.class, id);
		session.getTransaction().commit();
		return pagina;
	}

	@Override
	public void updatePagina(Pagina pagina) {
		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		session.beginTransaction();
		session.update(pagina);
		session.getTransaction().commit();
		
	}

	@Override
	public Integer addPagina(Pagina pagina) {
		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		session.beginTransaction();
		Integer id = (Integer)session.save(pagina);
		session.getTransaction().commit();
		return id;
	}

	@Override
	public void deletePagina(Pagina pagina) {
		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		session.beginTransaction();
		session.delete(pagina);
		session.getTransaction().commit();
	}

}
